package com.br.fsm.projectdelivery.controlador;

import java.util.ArrayList;

import com.br.fsm.projectdelivery.basica.SugestaoDia;
import com.br.fsm.projectdelivery.excecao.ControladorException;
import com.br.fsm.projectdelivery.excecao.RepositorioException;
import com.br.fsm.projectdelivery.repositorio.IRepositorioSugestaoDia;
import com.br.fsm.projectdelivery.repositorio.RepositorioSugestaoDia;


public class ControladorSugestaoDia extends ControladorBasico implements IControladorSugestaoDia{
	private IRepositorioSugestaoDia repositorioSugestaoDia;
	private static ControladorSugestaoDia instance;

	private ControladorSugestaoDia() {
		super();
		repositorioSugestaoDia = (IRepositorioSugestaoDia) RepositorioSugestaoDia
				.getInstance();
	}

	public static ControladorSugestaoDia getInstance() {
		if (instance == null) {
			instance = new ControladorSugestaoDia();
		}
		return instance;
	}
	
	@Override
	public SugestaoDia getSugestaoDiaById(int id) throws ControladorException {
		try {
			return repositorioSugestaoDia.getSugestaoDiaById(id);
		} catch (RepositorioException e) {
			throw new ControladorException(e.getMessage());
		}
	}

	@Override
	public ArrayList<SugestaoDia> getAllSugestaoDia() throws ControladorException {
		try {
			return repositorioSugestaoDia.getAllSugestaoDia();
		} catch (RepositorioException e) {
			throw new ControladorException(e.getMessage());
		}
	}

	@Override
	public void insertSugestaoDia(SugestaoDia sugestaoDia) throws ControladorException {
		try {
			repositorioSugestaoDia.insertSugestaoDia(sugestaoDia);
		} catch (RepositorioException e) {
			throw new ControladorException(e.getMessage());
		}
	}

	@Override
	public void updateSugestaoDia(SugestaoDia sugestaoDia) throws ControladorException {
		try {
			repositorioSugestaoDia.updateSugestaoDia(sugestaoDia);
		} catch (RepositorioException e) {
			throw new ControladorException(e.getMessage());
		}
	}

	@Override
	public void removeSugestaoDia(SugestaoDia sugestaoDia) throws ControladorException {
		try {
			repositorioSugestaoDia.removeSugestaoDia(sugestaoDia);
		} catch (RepositorioException e) {
			throw new ControladorException(e.getMessage());
		}
	}
}
